package mulot;
import level.Plateau;
import level.iMulot;
import level.iTexture;
import level.mulotPerso;
import outils.Direction;
import affichage.fabriqueTexture;


public class Creuseur extends Mulot implements iMulot{

	private boolean etatMetier;
	
	public Creuseur(int x, int y, mulotPerso deleg) {
		super(x, y, deleg);
		etatMetier=false;
	}
	
	public Creuseur(iMulot m){
		super(m);
	}
	
	public void deplacer(Plateau p){
		applicationMetier(p);
		super.deplacer(p);
	}
	
	public void afficher(iTexture[][] tab){
		int x = getX();
		int y = getY();
		Direction dOld = getdOld();
		mulotPerso deleg = getDeleg();
		tab[x][y] = fabriqueTexture.fabriquer('c', deleg.getI(), dOld);
	} 
	
	private void applicationMetier(Plateau p){
		int yMax = p.getPlateau()[0].length;
		mulotPerso deleg = getDeleg();
		int x = getX();
		int y = getY();
		
		if(y<yMax-1){
			if(!etatMetier){
				if(!p.getPlateau()[x][y+1].traversable() && p.getPlateau()[x][y+1].destructible()){
					p.getPlateau()[x][y+1]=fabriqueTexture.fabriquer(' ');
					etatMetier=true;
					setChute(0);
				}
			}
			else{
				
				if(!p.getPlateau()[x][y+1].traversable() && p.getPlateau()[x][y+1].destructible()){
					p.getPlateau()[x][y+1]=fabriqueTexture.fabriquer(' ');
					setChute(0);
				}
				else{
					deleg.changerVersMulot(p);
				}
				
			}
		}
		else{
			deleg.changerVersMulot(p);
		}
	}
	
}
